package com.demo.common.controller;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.demo.common.model.Blog;
import com.jfinal.core.Controller;
import com.jfinal.render.JsonRender;
import com.jfinal.upload.UploadFile;

public class RenderjsonController extends Controller {
	public void index(){
		render("index.jsp");
	}
	/**
	 * 无参数调用
	 */
	public void test1(){
		//使用setAttr添加数据
		setAttr("jsonData", "json数据");
		renderJson();
	}
	/**
	 * 无参数调用 将文章列表返回
	 */
	public void test2(){
		List<Blog> blogs=Blog.dao.find("select * from blog");
		setAttr("jsonData",blogs);
		renderJson();
	}
	/**
	 * 参数为jsonText 错误
	 */
	public void test3(){
		renderJson("错误格式：非json格式数据 使用renderJson(string) 返回的是字符串");
	}
	/**
	 * 参数为jsonText 正确
	 */
	public void test4(){
		renderJson("{\"json\":\"正确用法 renderJson(json格式文本)\"}");
	}
	/**
	 * 参数为jsonText setattr无效
	 */
	public void test5(){
		setAttr("jsonData", "json数据 setAttr的数据");
		renderJson("{\"json\":\"正确用法 renderJson(json格式文本) setAttr 无效\"}");
	}
	/**
	 * 参数为jsonText[]
	 */
	public void test6(){
		setAttr("jsonData1", "json数据 setAttr的数据1");
		setAttr("jsonData2", "json数据 setAttr的数据2");
		setAttr("jsonData3", "json数据 setAttr的数据3");
		renderJson(new String[]{"jsonData1","jsonData3"});
	}
	/**
	 * 参数为jsonText[]
	 */
	public void test7(){
		setAttr("jsonData1", "json数据 setAttr的数据1");
		setAttr("jsonData2", "json数据 setAttr的数据2");
		setAttr("jsonData3", "json数据 setAttr的数据3");
		renderJson(new String[]{"jsonData2","jsonData3"});
	}
	/**
	 * 参数为key value
	 */
	public void test8(){
		renderJson("jsonData", "Json数据");
	}
	/**
	 * 参数为key value
	 */
	public void test9(){
		List<Blog> blogs=Blog.dao.find("select * from blog");
		renderJson("jsonData", blogs);
	}
	/**
	 * 参数为object
	 */
	public void test10(){
		List<Blog> blogs=Blog.dao.find("select * from blog");
		renderJson(blogs);
	}
	/**
	 * 参数为object
	 */
	public void test11(){
		Map<String, Object> map=new HashMap<String, Object>();
		List<Blog> blogs=Blog.dao.find("select * from blog");
		map.put("jsonData", blogs);
		renderJson(map);
	}
	/**
	 * 参数为object forIe
	 */
	public void test12(){
		List<Blog> blogs=Blog.dao.find("select * from blog");
		render(new JsonRender("jsonData",blogs));
	}
	/**
	 * 上传  非forIE 
	 */
	public void test13(){
		UploadFile file=getFile("img");
		renderJson("imgurl","/upload/"+file.getFileName());
	}
	/**
	 * 上传  forIE 
	 */
	public void test14(){
		UploadFile file=getFile("img");
		//这个虽然是forIE 但是其他浏览器也有效 ie也好用
		render(new JsonRender("imgurl","/upload/"+file.getFileName()).forIE());
	}
}
